package com.netty.esc.service.action;

import com.alibaba.fastjson.JSONObject;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;

/**
 * @ClassName: 11094
 * @Description:
 * @Author: Fisher
 * @Date: 2022/6/4 22:41
 **/
@Slf4j
@Data
public  class BaseAction {

    /**
     * 对应类名
     * */
     private String className;

    /**
     * 对应方法名
     * */
    private String methodName;

    /**
     * 校验参数是否有空值
     * @param args 参数数组
     * @return true：非空
     */
    public boolean checkParameterNotNull(Object... args){
        for (Object arg : args){
            if (arg == null) return false;
            if (arg instanceof String && ((String) arg).isEmpty()) return false;
        }
        return true;
    }

    /**
     * 参数解析器
     * @Param: json  入参的json类型数据
     * @Param: clazz 要转换的类型
     */
    public <T> T jsonObjectToModel(JSONObject json, Class<T> clazz){
        return JSONObject.parseObject(json.toJSONString(), clazz);
    }
}
